Window: Do not connect to NULL screen in init()
authorDaniel Boles <dboles@src.gnome.org>
Thu, 31 Aug 2017 19:19:58 +0000 (20:19 +0100)
committerDaniel Boles <dboles@src.gnome.org>
Thu, 31 Aug 2017 19:26:44 +0000 (20:26 +0100)
Do not connect to get_settings_for_screen() if we have no screen…

Use g_signal_connect(), not connect_object(), to match how set_screen()
makes this same connection, and how finalize() already disconnects it.

https://bugzilla.gnome.org/show_bug.cgi?id=705640

gtk/gtkwindow.c

index a6b64d81fd7241395602e86cb5c0dff96ef4e8f1..2e8f5b4567072d85d972d679c464520f1d8aff00 100644 (file)
@@ -1858,9 +1858,10 @@ gtk_window_init (GtkWindow *window)
   gtk_window_update_debugging ();
 
 #ifdef GDK_WINDOWING_X11
-  g_signal_connect_object (gtk_settings_get_for_screen (priv->screen),
-                           "notify::gtk-application-prefer-dark-theme",
-                           G_CALLBACK (gtk_window_on_theme_variant_changed), window, 0);
+  if (priv->screen)
+    g_signal_connect (gtk_settings_get_for_screen (priv->screen),
+                      "notify::gtk-application-prefer-dark-theme",
+                      G_CALLBACK (gtk_window_on_theme_variant_changed), window);
 #endif
 
   widget_node = gtk_widget_get_css_node (GTK_WIDGET (window));